package com.biosimilarity.parallelOgram.model.parallelOgram;
import com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.*;
/** BNFC-Generated Abstract Visitor */
public class AbstractVisitor<R,A> implements AllVisitor<R,A> {
/* ProcessExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Mixed p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Selected p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Engaged p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Carried p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Served p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Varied p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Emptied p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* CollectionExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.CollectedExtension p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.CollectedIntension p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.CollectionExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SummationExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Switched p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SummationExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SummationBody */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SwitchedExtension p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SwitchedIntension p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SummationBody p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ReceiveExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Synched p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ReceiveExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SendExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.CoSynched p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SendExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* AbstractionExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Abstracted p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.AbstractionExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* InformationExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Manifested p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.InformationExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ExchangeFormals */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ExchangeFormalSpec p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ExchangeFormals p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ProcessPtn */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.MixtureDestructed p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SelectionDestructed p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ReceiveDestructed p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SendDestructed p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ServeDestructed p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessPtnLiteral p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessPtnPVar p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessPtnWild p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessPtn p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SelectionBodyPtn */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SelectBodyDestruct p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SelectionBodyPtn p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* GuardedPtn */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedDestruct p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedPtn p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* InformationPtn */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.InformationDestruct p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.InformationPtn p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* AbstractionPtn */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.AbstractionDestruct p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.AbstractionPtn p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SitePtn */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteQuotePtn p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteVarPtn p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteWildPtn p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SitePtn p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* FormalsPtn */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.FormalsDestruct p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.FormalsPtn p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* PtnPtn */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.PtnLiteralDestruct p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.PtnVarDestruct p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.PtnPtn p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ExchangeExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Substituted p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Variable p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ExchangeExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ProcessDeclOrCond */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessRequired p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessGenerated p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessDeclOrCond p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ProcessGenerator */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessGenExpr p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessGenerator p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ProcessCondition */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessReqExpr p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessCondition p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* GuardedDeclOrCond */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedRequired p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedGenerated p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedDeclOrCond p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* GuardedGenerator */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedGenExpr p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedGenerator p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* GuardedCondition */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedReqExpr p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedCondition p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ProcessProperty */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessDisjunction p, A arg) { return visitDefault(p, arg); }

    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessConjunction p, A arg) { return visitDefault(p, arg); }

    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessNegation p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessStructure p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessGround p, A arg) { return visitDefault(p, arg); }

    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessProperty p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ProcessShape */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.MixtureProp p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ReceiveProp p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SendProp p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ServeProp p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessShape p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* InformationShape */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.DataShape p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.InformationShape p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SelectionBodyShape */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SelectBodyProp p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SelectionBodyShape p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* GuardedShape */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedProp p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GuardedShape p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* AbstractionProp */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.AbstractedProp p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.AbstractionProp p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SiteProp */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteShape p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteProp p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* FormalsProp */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ParamsProp p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.FormalsProp p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* FormalProp */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ParamIdentProp p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ParamShapeProp p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.FormalProp p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* GroundProcessProperty */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessLogicGround p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.GroundProcessProperty p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* LogicalGround */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Verity p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Absurdity p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.Nullity p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.LogicalGround p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SiteExpr */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteIdent p, A arg) { return visitDefault(p, arg); }
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteQuotation p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteExpr p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* SiteVar */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteVarIdent p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.SiteVar p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }
/* ProcessVar */
    public R visit(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessIdent p, A arg) { return visitDefault(p, arg); }
    public R visitDefault(com.biosimilarity.parallelOgram.model.parallelOgram.Absyn.ProcessVar p, A arg) {
      throw new IllegalArgumentException(this.getClass().getName() + ": " + p);
    }

}
